package com.ssy.lingxi.transaction.api.dto.response;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 报价单查询
 *
 * @author xiaomai
 * @date 2022/3/24
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class AppletProductQuotationListResponse {

    private Long id;

    /**
     * 报价单号
     */
    private String quotationNo;

    /**
     * 询价单编号
     */
    private String inquiryListNo;

    /**
     * 询价单Id
     */
    private Long inquiryListId;

    /**
     * 报价单摘要
     */
    private String details;

    /**
     * 询价单摘要
     */
    private String inquiryDetails;

    /**
     * 询价会员id
     */
    private Long memberId;

    /**
     * 询价会员id
     */
    private Long memberRoleId;

    /**
     * 询价会员
     */
    private String memberName;

    /**
     * 报价会员
     */
    private String offerMemberName;

    /**
     * 报价会员id
     */
    private Long offerMemberId;

    /**
     * 报价会员id
     */
    private Long offerMemberRoleId;

    /**
     * 交付日期
     */
    private Long deliveryTime;

    /**
     * 报价截止时间
     */
    private Long quotationAsTime;

    /**
     * 单据时间
     */
    private Long voucherTime;

    /**
     * 外部状态：1.待提交询价单 2.待提交报价单 3.待确认报价单 4.报价通过 5.报价不通过
     */
    private Integer externalState;

    /**
     * 内部状态：1.待提交审核 2.待审核(一级) 3.待审核(二级) 4.待提交 5.审核通过 6.审核不通过
     */
    private Integer interiorState;

    /**
     * 外部状态名称
     */
    private String externalStateName;

    /**
     * 内部状态名称
     */
    private String interiorStateName;

    /**
     * 根据类型显示对应按钮
     * 这里的审核(一级)和审核(二级)只是为了区别一二级审核调用不同接口的逻辑，实际展示还是展示"审核"字样
     * 1.提交审核
     * 2.审核(一级)
     * 3.审核(二级)
     * 4.提交
     */
    private Integer button;

    /**
     * 第一个商品的主图，如果第一个商品没有则取下个商品的主图，如果商品全没主图，则返回null
     */
    private String  productMainImgUrl;
}
